/**
 * 二次开发装饰器
 *
 * @export
 * @param {Object} target
 * @param {string} propertyKey
 * @param {TypedPropertyDescriptor<any>} descriptor
 * @return {*}
 */
export function ProcessLog(remark: string = '') {
	return (
		target: Object,
		propertyKey: string,
		descriptor: TypedPropertyDescriptor<any>
	) => {
		let origin = descriptor.value;
		descriptor.value = function (...args: any[]) {
			// 原方法调用方法
			const onOk = (close: any) => {
				close && close();
				// 原方法调用方法
				return origin.apply(this, args);
			};
			App.getDevActionHelper().getShowTool()
				? App.getDialogHelper().info(
						App.ts('common.processlog.secondarydevtips', '二次开发提示！'),
						remark,
						onOk
				  )
				: onOk(null);
		};
		return descriptor;
	};
}
